<%--

    Клиентские группы.

    Страница предназначена для работы с клиентскими группами.
    Gозволяет добавлять, удалять и редактировать клиентские группы для всех брэндов

--%>

<%@page contentType="text/html" pageEncoding="UTF-8" %>

<%@taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
<%@taglib prefix="a4j" uri="http://richfaces.org/a4j" %>
<%@taglib prefix="rich" uri="http://richfaces.org/rich" %>

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Goodwill - Клиентские группы</title>
    <link rel="stylesheet" href="resources/css/main.css"/>
    <link rel="stylesheet" href="resources/css/stylesheet.css"/>

    <script type="text/javascript">

    </script>
</head>
<body>
<f:view>
<jsp:include page="menu.jsp"/>
<jsp:include page="status.jsp"/>
<h:form>
        <rich:dataTable value="#{ClientGroupsBean.clientGroups}" var="group" id="panelGroups">
            <f:facet name="header">
                <h:panelGroup>
                    <h:outputText value="Перечень клиентских групп"/>
                    <rich:spacer style="width:10px"/>
                    <a4j:commandLink reRender="tablePricelists"
                                     oncomplete="#{rich:component('panelAddClientGroup')}.show()"
                                     rendered="#{SecurityBean.isRoleAdministrator}">
                        <h:graphicImage value="/resources/img/add_16.png"/>
                        <h:outputText value="Создать" styleClass="fwhite"/>
                    </a4j:commandLink>
                </h:panelGroup>
            </f:facet>

            <%-- Операции с клиентскими группами --%>
            <rich:column rendered="#{SecurityBean.isRoleAdministrator}">

                <%-- Редактировать клиентскую группу --%>
                <a4j:commandLink id="linkEditClientGroup"
                                 ajaxSingle="true"
                                 action="#"
                                 oncomplete="#{rich:component('panelEditClientGroup')}.show();">

                    <h:graphicImage value="/resources/img/edit.gif"/>
                    <a4j:actionparam name="group_id" assignTo="#{ClientGroupsBean.clientGroupId}" value="#{group.id}"/>
                    <a4j:actionparam name="group_name" assignTo="#{ClientGroupsBean.clientGroupName}" value="#{group.name}"/>
                    <a4j:actionparam name="group_sum" assignTo="#{ClientGroupsBean.clientGroupSum}" value="#{group.criteriaSum}"/>
                    <a4j:actionparam name="group_active" assignTo="#{ClientGroupsBean.clientGroupActive}" value="#{group.active}"/>
                </a4j:commandLink>
                <rich:toolTip for="linkEditClientGroup" value="Редактировать клиентскую группу"/>

                <%-- Удалить клиентскую группу --%>
                <a4j:commandLink ajaxSingle="true" action="#" oncomplete="#{rich:component('panelRemoveClientGroup')}.show();" id="linkDeleteClientGroup">
                    <h:graphicImage value="/resources/img/delete.gif"/>
                    <a4j:actionparam name="group_id" assignTo="#{ClientGroupsBean.clientGroupId}" value="#{group.id}"/>
                    <a4j:actionparam name="group_name" assignTo="#{ClientGroupsBean.clientGroupName}" value="#{group.name}"/>
                    <a4j:actionparam name="group_sum" assignTo="#{ClientGroupsBean.clientGroupSum}" value="#{group.criteriaSum}"/>
                    <a4j:actionparam name="group_active" assignTo="#{ClientGroupsBean.clientGroupActive}" value="#{group.active}"/>
                </a4j:commandLink>
                <rich:toolTip for="linkDeleteClientGroup" value="Удалить клиентскую группу"/>

            </rich:column>

            <%-- Наименование --%>
            <rich:column sortable="true" sortBy="#{group.name}" filterBy="#{group.name}" filterEvent="onkeyup">
                <f:facet name="header">
                    <h:outputText value="Наименование"/>
                </f:facet>
                <h:outputText value="#{group.name}" rendered="#{group.active}" styleClass="b"/>
                <h:outputText value="#{group.name}" rendered="#{!group.active}"/>
            </rich:column>

            <%-- Сумма закупок --%>
            <rich:column sortable="true" sortBy="#{group.criteriaSum}">
                <f:facet name="header">
                    <h:outputText value="Мин. сумма закупок"/>
                </f:facet>
                <h:outputText value="#{group.criteriaSum}"/>
            </rich:column>

            <%-- Статус --%>
            <rich:column sortable="true" sortBy="#{group.active}">
                <f:facet name="header">
                    <h:outputText value="Статус"/>
                </f:facet>
                <h:outputText value="активна" rendered="#{group.active}" style="color:darkgreen;"/>
                <h:outputText value="неактивна" rendered="#{!group.active}" style="color:darkred;"/>
            </rich:column>

        </rich:dataTable>
    </h:form>

    <%-- Окно создания клиентской группы --%>
    <rich:modalPanel id="panelAddClientGroup" autosized="true" width="550">
        <f:facet name="header">
            <h:outputText value="Создать клиентскую группу"/>
        </f:facet>
        <f:facet name="controls">
            <h:graphicImage value="resources/img/close.png" onclick="#{rich:component('panelAddClientGroup')}.hide();return false;"/>
        </f:facet>
        <h:form>

            <a4j:outputPanel ajaxRendered="true">

                <h:inputHidden value="#{ClientGroupsBean.clientGroupId}"/>

                <h:outputText value="#{ClientGroupsBean.val}" rendered="#{!ClientGroupsBean.valOk}" id="msg1" styleClass="val"/>
                <h:panelGrid columns="2" styleClass="full" columnClasses="dleft,dright" cellspacing="0" cellpadding="0">
                    <h:outputText value="Наименование"/>
                    <h:inputText value="#{ClientGroupsBean.clientGroupName}"/>
                    <h:outputText value="Мин. сумма закупок"/>
                    <h:inputText value="#{ClientGroupsBean.clientGroupSum}"/>
                    <h:outputText value="Группа активна"/>
                    <h:panelGroup layout="block" styleClass="checkbox">
                        <h:selectBooleanCheckbox value="#{ClientGroupsBean.clientGroupActive}"/>
                    </h:panelGroup>
                </h:panelGrid>
            </a4j:outputPanel>

            <h:panelGrid columns="2" styleClass="full" columnClasses="butLeft,butRight" cellpadding="0" cellspacing="0">
                <a4j:commandButton value="Создать"
                                   action="#{ClientGroupsBean.addClientGroup}"
                                   reRender="panelGroups,msg1"
                                   oncomplete="if(#{ClientGroupsBean.valOk}) #{rich:component('panelAddClientGroup')}.hide();"
                                   styleClass="btnsz"/>
                <a4j:commandButton value="Отмена"
                                   styleClass="btnsz"
                                   ajaxSingle="true"
                                   action="#"
                                   oncomplete="#{rich:component('panelAddClientGroup')}.hide();">
                    <a4j:actionparam name="reset_val" assignTo="#{ClientGroupsBean.val}" value=""/>
                </a4j:commandButton>

            </h:panelGrid>

        </h:form>
    </rich:modalPanel>

    <%-- Окно редактирования клиентской группы --%>
    <rich:modalPanel id="panelEditClientGroup" autosized="true" width="550">
        <f:facet name="header">
            <h:outputText value="Редактировать клиентскую группу"/>
        </f:facet>
        <f:facet name="controls">
            <h:panelGroup>
                <h:graphicImage value="resources/img/close.png" id="hidelink2"/>
                <rich:componentControl for="panelEditClientGroup" attachTo="hidelink2" operation="hide"
                                       event="onclick"/>
            </h:panelGroup>
        </f:facet>
        <h:form>

            <a4j:outputPanel ajaxRendered="true">

                <h:inputHidden value="#{ClientGroupsBean.clientGroupId}"/>

                <h:outputText value="#{ClientGroupsBean.val}" rendered="#{!ClientGroupsBean.valOk}" id="msg2" styleClass="val"/>
                <h:panelGrid columns="2" styleClass="full" columnClasses="dleft,dright" cellpadding="0" cellspacing="0">
                    <h:outputText value="Наименование"/>
                    <h:inputText value="#{ClientGroupsBean.clientGroupName}"/>
                    <h:outputText value="Мин. сумма закупок"/>
                    <h:inputText value="#{ClientGroupsBean.clientGroupSum}"/>
                    <h:outputText value="Группа активна"/>
                    <h:panelGroup layout="block" styleClass="checkbox">
                        <h:selectBooleanCheckbox value="#{ClientGroupsBean.clientGroupActive}"/>
                    </h:panelGroup>
                </h:panelGrid>
            </a4j:outputPanel>
            <h:panelGrid columns="2" styleClass="full" columnClasses="butLeft,butRight" cellpadding="0" cellspacing="0">
                <a4j:commandButton value="Сохранить"
                                   action="#{ClientGroupsBean.saveClientGroup}"
                                   reRender="panelGroups, msg2"
                                   styleClass="btnsz"
                                   oncomplete="if(#{ClientGroupsBean.valOk}) #{rich:component('panelEditClientGroup')}.hide();"/>
                <a4j:commandButton value="Отмена"
                                   styleClass="btnsz"
                                   ajaxSingle="true"
                                   action="#"
                                   oncomplete="#{rich:component('panelEditClientGroup')}.hide();">
                    <a4j:actionparam name="reset_val" assignTo="#{ClientGroupsBean.val}" value=""/>
                </a4j:commandButton>
            </h:panelGrid>
        </h:form>
    </rich:modalPanel>

    <%-- Окно удаления клиентской группы --%>
    <rich:modalPanel id="panelRemoveClientGroup" autosized="true" width="300">
        <f:facet name="header">
            <h:outputText value="Внимание!"/>
        </f:facet>
        <f:facet name="controls">
            <h:panelGroup>
                <h:graphicImage value="resources/img/close.png" id="hidelink3"/>
                <rich:componentControl for="panelRemoveClientGroup" attachTo="hidelink3" operation="hide"
                                       event="onclick"/>
            </h:panelGroup>
        </f:facet>
        <h:form>
            <a4j:outputPanel ajaxRendered="true">
                <h:outputText id="msg8" value="#{ClientGroupsBean.val}" styleClass="val"/>
                <h:panelGrid columns="2" styleClass="full" cellpadding="0" cellspacing="0">
                    <h:inputHidden value="#{ClientGroupsBean.clientGroupId}"/>
                    <h:inputHidden value="#{ClientGroupsBean.clientGroupName}"/>
                    <h:outputText value="Удалить клиентскую группу \"#{ClientGroupsBean.clientGroupName}\"?"/>
                </h:panelGrid>
            </a4j:outputPanel>
            <h:panelGrid columns="2" styleClass="full" columnClasses="butLeft,butRight" cellpadding="0" cellspacing="0">
                <a4j:commandButton value="Да"
                                   action="#{ClientGroupsBean.removeClientGroup}"
                                   reRender="panelGroups, msg8"
                                   oncomplete="if (#{ClientGroupsBean.valOk}) #{rich:component('panelRemoveClientGroup')}.hide();"
                                   styleClass="btnsz"/>
                <a4j:commandButton value="Нет"
                                   ajaxSingle="true"
                                   action="#"
                                   oncomplete="#{rich:component('panelRemoveClientGroup')}.hide();"
                                   styleClass="btnsz">
                    <a4j:actionparam name="reset_val" assignTo="#{ClientGroupsBean.val}" value=""/>
                </a4j:commandButton>
            </h:panelGrid>
        </h:form>
    </rich:modalPanel>
</f:view>
</body>
</html>
